A number of computer graphics applications such as, for example, flight simulators, geographical information systems, navigation systems, etc. need to allow the representation of subsets of large graphic datasets on a display, with frequent updates. For instance, in a flight simulator, this allows a user to visualize terrain updated in real time from a large graphic terrain dataset as the user flies over the simulated terrain.
When the original graphic dataset has a very large size, this can require very intensive data processing. In order to reduce those requirements, a number of methods have been proposed. One such method is known as mipmapping. A mipmap (from the Latin “multum in parvo”—many in a small space) is a graphic dataset comprising a collection of multiple versions of the same image at multiple different levels of detail. To render the same image with a more distant viewpoint, or a smaller display size, a subset of graphic data to be rendered will be extracted from a lower mipmap level of detail, whereas to display a close-up, the subset will be extracted from a higher mipmap level of detail. A mipmap reduces the real-time data processing requirements, and helps prevent image aliasing.
However, when the highest level of detail is a very large image, such as, for instance, in a geographic information system, a map of the whole Earth at 1 m resolution, a mipmap will comprise an exceedingly large amount of data, which will require a large memory. Since, at a given cost, increased memory size normally means lower access speed, this is disadvantageous for those applications requiring rapid or even real-time updates.